Today, portable consumer electronic devices are more powerful than ever. For example, small, portable music playback devices can store hundreds, even thousands, of compressed songs and can play back the songs at high quality. With the capacity for so many songs, a playback device can store many songs from different albums, artists, styles of music, etc.
Music jukeboxes implemented in software executed by a digital computer and portable MP3 and CD players both provide facilities for forming playlists. For example, the OOZIC player, distributed by the assignee of the present application, runs on a host PC and has a playlist feature that allows selection of tracks from the PC's hard disk to be included in the playlist.
As storage capacity increases and songs are compressed to shorter file lengths the number of songs that can be stored increases rapidly. Major problems facing the consumer are organizing and accessing the tracks.
Typically, portable devices have a user interface including a small screen and buttons. Such a display screen might be, e.g., 1″×2″. This small display size is necessary because of the physical size of the device which is typically carried in the hand. The small size also limits the number, size, shape, and types of user input controls that can be mounted on the device. For example, a few pushbuttons are usually provided to perform all of the device's control functions. Using such a compact user interface to navigate and select among hundreds of songs is inefficient and often frustrating. The display screen can only show a few song titles at one time, and the limited controls make it difficult for a user to arbitrarily select, or move among, the songs.
The creation of playlists is one technique to organize the playing of songs. A set of songs can be included in a playlist which is given a name and stored. When the playlist is accessed, the set of songs can be played utilizing various formats such as sequential play or shuffle.
However, the creation of playlists itself becomes problematic as the number of songs increases, since the user often arbitrarily selects songs from a large number of tracks to form a playlist. This selection mechanism: can be fairly tedious; does not necessarily produce playlists that are of interest to the user over the course of time; may not remain up-to-date if new songs are added that logically fit into a previously created playlist (e.g. “Favorites by Band X” might become out of date if a new favorite by Band X is added after the playlist was created); and leads to “lost” songs that are not members of any playlist.
Accordingly, improved techniques for organizing and grouping tracks useful in a portable music player are needed. Further, it is desirable to provide a user interface suitable for a small device. The user interface should allow a user to efficiently navigate among, and select from, many items stored in the device.